#include <lc_test_avl_tree.h>

AvlTree<Int32, String>* TestAvlTree::avlTree_ = nullptr;

void TestAvlTree::SetUp() {
  if (!TestAvlTree::avlTree_)
    TestAvlTree::avlTree_ = new AvlTree<Int32, String>();
}

void TestAvlTree::TearDown() {
  if (TestAvlTree::avlTree_)
    delete TestAvlTree::avlTree_;
}

TEST_F(TestAvlTree, InsertData) {
  TestAvlTree::avlTree_->insert(1, "hello world!");
  TestAvlTree::avlTree_->insert(3, "hello world!");
  TestAvlTree::avlTree_->insert(4, "hello world!");
  TestAvlTree::avlTree_->insert(5, "hello world!");
  TestAvlTree::avlTree_->insert(7, "hello world!");
  TestAvlTree::avlTree_->insert(8, "hello world!");
  EXPECT_EQ(Size(6), TestAvlTree::avlTree_->size())
      << "Size and number of insertions in AVL tree don't match";
}
